#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
    //第二步，获取被读取文件的文件描述符。
    int read_fd = open("english.txt", O_RDONLY);
    if (read_fd == -1)
    {
        perror("open"); //输出失败原因
        return -1;      //结束程序
    }

    //第三步，创建一个新文件用来存放写入的数据，获取这个被写入文件的文件描述符。
    int write_fd = open("english1.txt", O_WRONLY | O_CREAT, 0664);
    if (write_fd == -1)
    {
        perror("open"); //输出失败原因
        return -1;      //结束程序
    }
    //第四步，创建缓存数组。
    char buf[1024] = {0};

    //第五步，从指定文件中读取数据到缓冲区，再从缓冲区将数据写到指定文件中去。
    int len = 0;
    while ((len = read(read_fd, buf, sizeof(buf))) > 0)
    {
        write(write_fd, buf, len);
    }

    //第六步，关闭已经打开的文件
    close(write_fd);
    close(read_fd);

    return 0;
}
